﻿// --------------------------------------------------------------------------------------
// <copyright file="NewsModel.cs" company="NGroup">
// Copyright (c) NGroup. All rights reserved.
// </copyright>
// --------------------------------------------------------------------------------------
// <history>
//     <change who="Nguyen Vu Nam" date="2013.12.18">Create</change>
// </history>
// --------------------------------------------------------------------------------------

using System;

namespace NGroup.VTL.Models
{
    using System;
    using NGroup.VTL.Core.Const;
    using System.ComponentModel.DataAnnotations;

    /// <summary>
    /// Class ProductModel.
    /// </summary>
    public class NewsModel
    {
        private static readonly string webDomain = System.Configuration.ConfigurationManager.AppSettings["VTLBASEURL"];

        public int NewsID { get; set; }

        public int? TypeID { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Liên kết không được bỏ trống")]
        [StringLength(500, MinimumLength = 5, ErrorMessage = "Liên kết phải nhiều hơn 5 ký tự & không quá 500 ký tự")]
        public string UniqueString { get; set; }

        public string MetaContent { get; set; }

        public string MetaContentEn { get; set; }

        public string MetaDescription { get; set; }

        public string MetaDescriptionEn { get; set; }

        public bool? IsActive { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Tiêu đề không được bỏ trống")]
        [StringLength(500, MinimumLength = 5, ErrorMessage = "Tiêu đề phải nhiều hơn 5 ký tự & không quá 500 ký tự")]
        public string Title { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Tiêu đề không được bỏ trống")]
        [StringLength(500, MinimumLength = 5, ErrorMessage = "Tiêu đề phải nhiều hơn 5 ký tự & không quá 500 ký tự")]
        public string TitleEn { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Nội dung rút gọn không được bỏ trống")]
        public string BriefContent { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Nội dung rút gọn không được bỏ trống")]
        public string BriefContentEn { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Nội dung đầy đủ không được bỏ trống")]
        public string FullContent { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Nội dung đầy đủ không được bỏ trống")]
        public string FullContentEn { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Hình tiêu đề không được bỏ trống")]
        public string ImageSmallURL { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "Hình tiêu đề không được bỏ trống")]
        public string ImageSmallURLEn { get; set; }

        public DateTime CreatedAt { get; set; }

        public string CreatedBy { get; set; }

        public DateTime LastUpdatedAt { get; set; }

        public string LastUpdatedBy { get; set; }

        public string GetFullURL()
        {
            string s0 = webDomain;
            string s1 = NGroup.VTL.WebCore.AppContentTypes.All.Find(e => e.TypeID == this.TypeID).UniqueString;
            string s2 = "chi-tiet";
            string s3 = this.UniqueString;
            string fullURL;

            // Not news
            if (this.TypeID != 4)
            {
                fullURL = string.Join("/", new[] { s0, s3 });
            }
            else
            {
                fullURL = string.Join("/", new[] { s0, s1, s2, s3 });
            }            

            return fullURL;
        }
    }
}
